//app.js
App({
  onLaunch: function () {
    this.globalData = { refresh: true }
    if (!wx.cloud) {
      console.error('请使用 2.2.3 或以上的基础库以使用云能力')
    } else {
      wx.cloud.init({
        // env 参数说明：
        //   env 参数决定接下来小程序发起的云开发调用（wx.cloud.xxx）会默认请求到哪个云环境的资源
        //   此处请填入环境 ID, 环境 ID 可打开云控制台查看
        //   如不填则使用默认环境（第一个创建的环境）
        env: 'jiapu-753e2',
        traceUser: true,
      })

      // 获取openid
      this.getOpenId = new Promise((resolve, reject) => {
        wx.cloud.callFunction({
          name: 'login',
          data: {},
          success: res => {
            resolve(res.result.openid)
            console.log("login --", res)
          }
        })
      })
      this.getOpenId.then(console.log)

      // 唯一编码-生成器
      let codes = []
      const loadCode = () => wx.cloud.callFunction({
        name: 'shortid', 
        data: {num: 10}, 
        success: res => {
          codes = [...res.result.codes, ...codes]
        }
      })
      loadCode()
      this.genertCode = () => {
        const code = codes.pop();
        if (codes.length < 2) {
          loadCode()
        }
        return code
      }

      // 读取自己的信息
      this.getMyInfo = () => new Promise((resolve, reject) => {
        this.getOpenId.then(openid => {
          wx.cloud.database().collection('information').where({
            _openid: openid
          }).get({
            success: res => {
              if (res.data.length > 0)
              {
                this.globalData.info = res.data[0]
                resolve(res.data[0])                
              }
              console.log('[数据库] [查询记录] 成功: ', res)
            },
            fail: err => {
              wx.showToast({
                icon: 'none',
                title: '无数据'
              })
              console.error('[数据库] [查询记录] 失败：', err)
            }
          })    
        })
      })
    }
  }
})
